﻿<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>预约单管理</title>
    <#include "/common/link.ftl">

    <script>
        $(function () {
            // 日期高级查询应该用让用户选择
            $('.input-date').datepicker({
                format: 'yyyy-mm-dd', //格式
                language: 'zh-CN', //中文
                autoclose: true,//选择后自动关闭
                //showMeridian:true, //是否显示上下午
                minView: 2,//精确到哪位
            });

            // 给添加按钮一个点击事件
            $('.btn-input').click(function () {
                $('#editForm').clearForm(true); // 清空之前的数据
                $('#editForm select').val('-1');
                var json = $(this).data('json');
                if (json) {
                    $("#editForm input[name=id]").val(json.id);
                    $('#editForm input[name=status]').val(json.status);
                    $("#editForm select[name='business.id']").val(json.businessId);
                    $('#editForm input[name=appointmentTime]').val(json.appointmentTime);
                    $('#editForm input[name=contactName]').val(json.contactName);
                    $('#editForm input[name=contactTel]').val(json.contactTel);
                    $('#editForm textarea[name=info]').val(json.info);

                    // 业务回显
                    $('#businessCategory').val(json.categoryParentId);
                    //$('#businessCategory').change();

                    var html = "<option value='-1'>请选择预约业务</option>";
                    $.get('/systemDictionary/queryByParentId', {parentId: json.categoryParentId}, function (data) {
                        $.each(data, function (index, item) {
                            html += "<option value='" + item.id + "'>" + item.name + "</option>"
                        });
                        // 将遍历好的数据塞到预约业务选项
                        $('#businessModal').html(html);
                        // 通过业务id回显
                        $('.businessModal').val(json.categoryId)
                    });
                } else {
                    $('#editForm input[name=status]').val('1');
                }
                $('#editModal').modal('show');
            });

            // 业务分类 二级联动
            $('.category').change(function () {
                var value = $(this).val();
                var html = "<option value='-1'>请选择预约业务</option>";
                if (value == -1) {
                    $('#businessModal').html(html);
                    return;
                }
                $.get('/systemDictionary/queryByParentId', {parentId: value}, function (data) {
                    $.each(data, function (index, item) {
                        html += "<option value='" + item.id + "'>" + item.name + "</option>"
                    });
                    // 将遍历好的数据塞到预约业务选项
                    $('#businessModal').html(html);
                });

            });

            // 点击确认预约和取消预约按钮 改变状态
            $('.btn-status').click(function () {
                var status = $(this).data('status');
                var id = $(this).data('id');
                var msg = "是否与客户确认取消本次预约?";
                if (status == 1) {
                    msg = "是否与客户确认信息无误?";
                }
                Swal.fire({
                    title: msg,
                    text: "此操作是不可逆的!",
                    icon: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: '确定',
                    cancelButtonText: '取消'
                }).then((result) => {
                    if (result.value) {
                        // 确定之后 执行这里的代码 同步请求 携带id跳转
                        window.location.href = "/appointment/updateStatus?id=" + id + "&status=" + status;
                    }
                });

            });
            // 确认到店
            $('.btn-consume').click(function () {
                let id = $(this).data('id');
                let status = $(this).data('status');
                Swal.fire({
                    title: "温馨提示",
                    text: "是否确认客户已经到店?",
                    icon: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: '是',
                    cancelButtonText: '否'
                }).then((result) => {
                    if (result.value) {
                        Swal.fire({
                            title: "温馨提示",
                            text: "客户是否进行消费?",
                            icon: 'warning',
                            showCancelButton: true,
                            confirmButtonColor: '#3085d6',
                            cancelButtonColor: '#d33',
                            confirmButtonText: '是',
                            cancelButtonText: '否'
                        }).then((result) => {
                            if (result.value) {
                                // 有消费 状态更改为消费中，并根据预约单相关信息生成结算单，自动跳转到结算单详情页面
                                window.location.href = "/consumption/save?aid=" + id;
                            } else {
                                // 无消费 => 改状态 归档
                                window.location.href = "/appointment/updateStatus?id=" + id + "&status=" + status;
                            }
                        });
                    }
                });

            });

        });
    </script>
</head>
<body class="hold-transition skin-black sidebar-mini">
<div class="wrapper">
    <#include "/common/navbar.ftl">
    <!--菜单回显-->
    <#assign currentMenu="appointment"/>
    <#include "/common/menu.ftl">
    <div class="content-wrapper">
        <section class="content-header">
            <h1>预约单管理</h1>
        </section>
        <section class="content">
            <div class="box">
                <!--高级查询--->
                <div style="margin: 20px 0px 0px 10px">
                    <form class="form-inline" id="searchForm" action="/appointment/list" method="post">
                        <input type="hidden" name="currentPage" id="currentPage" value="1">
                        <div class="form-group">
                            <label>预约单流水号</label>
                            <input type="text" class="form-control" name="ano" value="${qo.ano}"
                                   placeholder="请输入预约单流水号">
                        </div>

                        <div class="form-group">
                            <label>预约单状态</label>
                            <select class="form-control" name="status" id="status">
                                <option value="-1">全部</option>
                                <#list status as s>
                                    <option value="${s.sn}">${s.name}</option>
                                </#list>
                            </select>
                        </div>
                        <script>
                            $('#status').val('${qo.status}')
                        </script>
                        <div class="form-group">
                            <label>门店查询</label>
                            <select class="form-control" name="businessId" id="businessId">
                                <option value="-1">请选择门店</option>
                                <#list stores as s>
                                    <option value="${s.id}">${s.name}</option>
                                </#list>
                            </select>
                        </div>
                        <script>
                            $('#businessId').val('${qo.businessId}')
                        </script>
                        <div class="form-group">
                            <label>客户名称</label>
                            <input type="text" class="form-control" name="contactName" value="${qo.contactName}"
                                   placeholder="请输入客户名称">
                        </div>

                        <div class="form-group">
                            <label>客户手机号</label>
                            <input type="text" class="form-control" name="contactTel" value="${qo.contactTel}"
                                   placeholder="请输入客户手机号">
                        </div>

                        <br/>
                        <br/>

                        <div class="form-group">
                            <label>预约时间查询：</label>
                            <input placeholder="请输入开始时间" type="text" class="form-control input-date"
                                   name="beginDate" autocomplete="off" value="${(qo.beginDate?string('yyyy-MM-dd'))!}"
                            /> -
                            <input placeholder="请输入结束时间" type="text" class="form-control input-date"
                                   name="endDate" autocomplete="off" value="${(qo.endDate?string('yyyy-MM-dd'))!}"
                            />
                        </div>

                        <button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-search"></span>
                            查询
                        </button>

                        <a href="javascript:;" class="btn btn-success btn-input">
                            <span class="glyphicon glyphicon-plus"></span> 添加
                        </a>
                    </form>

                </div>
                <div class="box-body table-responsive ">
                    <table class="table table-hover table-bordered table-striped">
                        <thead>
                        <tr>
                            <th>序号</th>
                            <th>流水号</th>
                            <th>业务分类</th>
                            <th>预约说明</th>
                            <th>预约时间</th>
                            <th>客户名称</th>
                            <th>联系方式</th>
                            <th>预约门店</th>
                            <th>状态</th>
                            <th>操作</th>
                        </tr>
                        </thead>
                        <tbody>
                        <#list pageInfo.list as a>
                            <tr>
                                <td>${a_index + 1}</td>
                                <td>${a.ano!}</td>
                                <td>${a.category.name!}</td>
                                <td>${a.info!}</td>
                                <td>${(a.createTime?string('yyyy-MM-dd'))!}</td>
                                <td>${a.contactName!}</td>
                                <td>${a.contactTel!}</td>
                                <td>${a.business.name!}</td>
                                <td>${a.appointmentStatus!}</td>
                                <td>
                                    <a href="javascript:;" class="btn btn-info btn-xs btn-input"
                                       data-json='${a.toJson()}'>
                                        <span class="glyphicon glyphicon-pencil"></span> 编辑
                                    </a>
                                    <#if a.status == 0>
                                        <a class="btn btn-xs btn-primary btn-status" data-status="1" data-id="${a.id}">
                                            <span class="glyphicon glyphicon-phone-alt"></span> 确认预约</a>
                                    <a class="btn btn-xs btn-danger btn-status" data-status="4" data-id="${a.id}">
                                            <span class="glyphicon glyphicon-remove"></span> 取消预约</a></#if>
                                    <#if a.status == 1>
                                    <a href="javascript:;" class="btn btn-success btn-xs btn-consume"
                                       data-status="3" data-id="${a.id}">
                                            <span class="glyphicon glyphicon-shopping-cart"></span> 确认到店
                                        </a></#if>
                                </td>
                            </tr>
                        </#list>

                        </tbody>
                    </table>
                    <!--分页-->
                    <#include "/common/page.ftl">
                </div>

            </div>
        </section>
    </div>
    <#include "/common/footer.ftl">
</div>


<!--模态框-->
<div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title" id="myModalLabel">新增/编辑</h4>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>
                </button>
            </div>

            <form id="editForm" action="/appointment/saveOrUpdate" method="post">
                <div class="modal-body">
                    <input type="hidden" name="id">
                    <input type="hidden" name="status" value="1"><#-- 默认预约状态为履行中-->
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">预约门店：</label>
                        <div class="col-sm-7">
                            <select class="form-control business" name="business.id">
                                <option value="-1">请选择预约门店</option>
                                <#list stores as s>
                                    <option value="${s.id}">${s.name}</option>
                                </#list>
                            </select>
                        </div>

                    </div>
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">预约时间：</label>
                        <div class="col-sm-7">
                            <input type="text" class="form-control input-date" autocomplete="off"
                                   name="appointmentTime" placeholder="请输入预约时间"/>
                        </div>
                    </div>

                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">业务分类：</label>
                        <div class="col-sm-7">
                            <select class="form-control category" id="businessCategory">
                                <option value="-1">请选择预约业务</option>
                                <#list business as b>
                                    <option value="${b.id}">${b.name}</option>
                                </#list>
                            </select>
                        </div>

                    </div>
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">预约业务：</label>
                        <div class="col-sm-7">
                            <select class="form-control businessModal" id="businessModal" name="category.id">
                                <option value="-1">请选择预约业务</option>
                            </select>
                        </div>
                    </div>

                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">联系人：</label>
                        <div class="col-sm-7">
                            <input type="text" class="form-control" name="contactName"
                                   placeholder="请输入联系人">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">联系电话：</label>
                        <div class="col-sm-7">
                            <input type="text" class="form-control" name="contactTel"
                                   placeholder="请输入联系电话">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">预约说明：</label>
                        <div class="col-sm-7">
                            <textarea type="text" class="form-control" name="info"
                                      placeholder="请输入预约说明"></textarea>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
                    <button type="submit" class="btn btn-primary btn-submit">保存</button>
                </div>
            </form>
        </div>
    </div>
</div>


</body>
</html>
